/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ub.informatica.disseny.movieaff.modelo;

import java.util.ArrayList;

/**
 *
 * @author mat.aules
 */
public class Catalogo {
    public ArrayList <Pelicula> catalogo;
    
    
    public Catalogo() {
        catalogo = new ArrayList();
    }
    
    
    public void añadirPelicula(Pelicula peli){
        catalogo.add(peli);
    }
    
    public void borrarPeli(String nombre){
        for(int i = 0; i < tamaño(); i++){
            if (getPelicula(i).getTitle().equals(nombre)){
                catalogo.remove(getPelicula(i));
            }
            
        }
    }
    
    public int tamaño(){
        return catalogo.size();
    }
    
    public Pelicula getPelicula(int pos){
        return catalogo.get(pos);
    }
    
    public void verCatalogo(){
        for (int i = 0; i < tamaño(); i++){
            String titulo = getPelicula(i).getTitle();
            System.out.println(titulo);
        }
    }

    public void masVistas(){
        ArrayList<Pelicula> aux=catalogo;
        Pelicula pelicula;
        for (int i = 0; i < tamaño(); i++){
            for (int j = 0; j < tamaño(); j++){
                if (aux.get(i).getTotalRepro()<aux.get(j).getTotalRepro()){
                    pelicula=aux.get(i);
                    aux.set(i, aux.get(j));
                    aux.set(j, pelicula);
                }
            }
        }
        for (int i = 0; i < tamaño(); i++){
            System.out.println(aux.get(i).getTitle());
            System.out.println(aux.get(i).getPromedio());
        }
    }

    public void masValoradas(){
        ArrayList<Pelicula> catalogo_aux=catalogo;
        Pelicula pelicula;
        for (int i = 0; i < tamaño(); i++){
            for (int j = 0; j < tamaño(); j++){
                if (catalogo_aux.get(i).getPromedio()<catalogo_aux.get(j).getPromedio()){
                    pelicula=catalogo_aux.get(i);
                    catalogo_aux.set(i, catalogo_aux.get(j));
                    catalogo_aux.set(j, pelicula);
                }
            }
        }
        for (int i = 0; i < tamaño(); i++){
            System.out.println(catalogo_aux.get(i).getTitle());
            System.out.println(catalogo_aux.get(i).getPromedio());
        }
    }

    public Pelicula buscarPelicula(String titulo) {
        for (int i = 0; i <tamaño(); i++){
            if (getPelicula(i).getTitle().equals(titulo)){
                return getPelicula(i);
            }
        }
        return null;
    }

    public void actualizarPelicula(String id) {
        for (int i = 0; i <tamaño(); i++){
            if (getPelicula(i).getId().equals(id)){
                getPelicula(i).setTotalRepro(getPelicula(i).getTotalRepro()+1);
            }
        }
    }
    
    public void reproducir (Pelicula pelicula){
        System.out.println("Reproduciendo pelicula seleccionada");
    }
}
